package celcatSynchronizer.ui;

import com.google.gdata.data.calendar.CalendarEntry;
import java.util.ArrayList;
import javax.swing.AbstractListModel;

/**
 * Modèle des calendriers Google.
 */
public class ListModelCalendar extends AbstractListModel
{
	private ArrayList<CalendarEntry> m_entries;
	
	/**
	 * Constructeur.
	 */
	public ListModelCalendar()
	{
		m_entries = new ArrayList<CalendarEntry>();
	}

	@Override
	public int getSize()
	{
		return m_entries.size();
	}

	@Override
	public Object getElementAt(int p_index)
	{
		return m_entries.get(p_index);
	}

	/**
	 * Méthode de mise à jour des calendriers.
	 * @param p_entries Les nouveaux calendriers.
	 */
	public void setEntries(ArrayList<CalendarEntry> p_entries)
	{
		if(!m_entries.isEmpty())
			fireIntervalRemoved(this, 0, m_entries.size() - 1);
		
		m_entries = p_entries;
		
		if(!m_entries.isEmpty())
			fireIntervalAdded(this, 0, m_entries.size() - 1);
	}
}
